package com.dmall.sort.enums;

/**
 * 排序类型枚举（升序还是降序）
 * @author xiao1.wang@dmall.com
 * @date 2019-07-18 18:40:06
 */
public enum SortTypeEnum {
    /** 冒泡排序 */
    BUBBLE_SORT(1, "bubbleSort", "冒泡排序"),
    /** 选择排序 */
    SELECTION_SORT(2, "selectionSort", "选择排序"),
    /** 插入排序 */
    INSERTION_SORT(3, "insertionSort", "插入排序"),
    /** 希尔排序 */
    SHELL_SORT(4, "shellSort", "希尔排序"),
    /** 希尔排序改进版 */
    SHELL_SORT_IMPROVE(5, "shellSortImprove", "希尔排序改进版"),
    /** 快速排序 */
    QUICK_SORT(6, "quickSort", "快速排序"),
    /** 快速排序 */
    QUICKLY_SORT(7, "quicklySort", "快速排序"),
    /** 快速排序 非递归实现 */
    QUICK_SORT_NON_RECURSION(8, "quickSortNonRecursion", "快速排序非递归实现"),
    /** 堆排序 */
    HEAP_SORT(9, "heapSort", "堆排序")
    ;

    private int value;
    private String methodName;
    private String desc;

    SortTypeEnum(int value, String methodName, String desc) {
        this.value = value;
        this.methodName = methodName;
        this.desc = desc;
    }

    public int getValue() {
        return value;
    }

    public String getMethodName() {
        return methodName;
    }

    public String getDesc() {
        return desc;
    }
}
